package com.example.pattern.memento;

/**
 * 应用
 *
 * @author FM_南风
 * @date 2024/7/7
 */
public class MementoClient {
	public static void main(String[] args) {
		// 创建原始对象
		Originator originator = new Originator();
		originator.setState("State1");

		// 创建备忘录，并保存当前状态
		Memento memento = originator.saveStateToMemento();

		// 使用管理者类保存备忘录
		Caretaker caretaker = new Caretaker();
		caretaker.setMemento(memento);

		// 修改原始对象的状态
		originator.setState("State2");

		// 恢复原始对象的状态
		originator.restoreStateFromMemento(caretaker.getMemento());

		System.out.println("Current State: " + originator.getState());
	}
}
